/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.uoc.tfc.exuoc.controladors;

import java.util.Iterator;

import org.hibernate.HibernateException;
import edu.uoc.tfc.exuoc.errors.BuitException;
import edu.uoc.tfc.exuoc.errors.LlistatDAOException;


/**
 *
 * @author emili
 */
public interface InterfaceGestor {


    public void openGestor();
    public void tancar();
    public GestorLogs  getLog() ;
    public void setLog(GestorLogs  log);
    

    /**
     *
     * @return Nombre total d'entitats de la classe
     * @throws HibernateException
     * @throws BuitException
     */
    public int num() throws HibernateException,BuitException;
    
    /**
     * 
     * @param condicio
     * @return Retorna el total d'entitats que compleixen amb el camp nom indicat
     * @throws HibernateException
     * @throws BuitException
     */
    
    public int num(String nomCercat) throws HibernateException,BuitException;


    /**
     * Mètode que serveix per cercar un valor segons la comaració cmp respecte el
     * camp indicat, camp.
     * @param camp
     * @param cmp
     * @param valorCercat
     * @return
     * @throws HibernateException
     * @throws BuitException
     */
    /*public int num(String camp, String cmp,String valorCercat)
            throws HibernateException,BuitException;*/

    public Iterator<?> llistat() throws LlistatDAOException,BuitException;
    public Iterator<?> llistat(int ini,int fi) throws LlistatDAOException, BuitException;
    public Iterator<?> llistat(String camp,String pernom, int ini,int fi) 
            throws LlistatDAOException,BuitException;

}
